﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////


#pragma once
#include "GcmpDwgDxfInterface.h"
#include "DwgExportData.h"

namespace gcmp
{
    class IModelView;
    class IHatchSettings;

    /// \brief 区域填充导出的映射类
    class GCMP_DWG_DXF_INTERFACE_EXPORT IHatchMapping
    {
    public:
        /// \brief 获取填充类型名称
        /// \param pModelView 当前视图
        /// \param param 填充区域参数
        /// \return 填充接口
        virtual OwnerPtr<IHatchSettings> GetHatchSettings(const IModelView* pModelView, const BodyFaceProjectRegionParam& param) const = 0;

        /// \brief 获取填充类型名称
        /// \param pModelView 当前视图
        /// \param param 二维填充区域参数
        /// \return 填充接口
        virtual OwnerPtr<IHatchSettings> GetHatchSettings(const IModelView* pModelView, const FillRegionParam& param) const = 0;

    public:
        virtual ~IHatchMapping();
    };
}


